<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <!-- コンテナをロード -->
  <script type="text/javascript" src="../src/container.js" ></script>
</head>
<body>
  <div id="stdout"></div>
  <script type="text/javascript">
var stdout = document.getElementById( "stdout" );

// class
function Kitten() {}
Kitten.prototype = {
   getName: function () { return this.name; }
};

// コンテナを作成
// 引数で、コンポーネントを定義する関数を渡す。
var c = new container.Container( function( binder ) {
  // Kittenクラスを"mii"コンポーネントとして登録
  // また、コンポーネントの"name"プロパティに"mii"をインジェクション
  binder.bind( Kitten ).to( "mii" ).inject( { "name": "mii" } );
});

// コンテナからコンポーネントを取得する。
// コンポーネント定義時に指定した名前で取得
var mii = c.get( "mii" );
stdout.innerHTML += mii.getName() + "<br/>"; // mii

// 「API条件(Type)」を利用して「getName」を持つコンポーネントを取得。
mii = c.get( container.types.has( "getName" ) );
stdout.innerHTML += mii.getName() + "<br/>"; // mii

  </script>
</body>
</html>